<?php
/**
 * Controller is the customized base controller class.
 * All controller classes for this application should extend from this base class.
 */
class Controller extends CController
{
	/**
	 * @var string the default layout for the controller view. Defaults to '//layouts/column1',
	 * meaning using a single column layout. See 'protected/views/layouts/column1.php'.
	 */
	public $layout='//layouts/column1';
	/**
	 * @var array context menu items. This property will be assigned to {@link CMenu::items}.
	 */
	public $menu=array();
	/**
	 * @var array the breadcrumbs of the current page. The value of this property will
	 * be assigned to {@link CBreadcrumbs::links}. Please refer to {@link CBreadcrumbs::links}
	 * for more details on how to specify this property.
	 */
	public $breadcrumbs=array();
	
	protected function beforeAction($action){
		
		$access = ucfirst($this->getId()).ucfirst($action->getId());
		
		//var_dump(Yii::app()->user->isGuest);exit;
		//var_dump(Yii::app()->user->checkAccess(ucfirst($this->getId()) . ucfirst($action->getId())));exit;
		$publicPges = array('SiteLogin','SiteLogout','SiteIndex','SiteAdmin','SiteError','SiteContact','SiteCaptcha');
	    
		if(in_array($access,$publicPges)
			||Yii::app()->user->checkAccess(ucfirst($this->getId()) . ucfirst($action->getId())))
	    {
	            return true;
	    } else {
	            if(Yii::app()->user->isGuest){
	            	if($access=='SiteLogin'){
	            		return true;
	            	}else{
	            		$this->redirect(array('site/login'));
	            	}
				}else{
					throw new CHttpException(403,"Damn You!, you are not authorized to perform this action.");
					return true;
				}
	     }
	}
	
}